In telecommunication networks charging for usage is usually done for every started period, called charging interval. The charging interval can be from one second to several minutes for calls and ranging from bytes to megabytes for data. It is common that a subscriber is charged for every started minutes of a call. For example if the subscriber talks for one minute and one second the subscriber will have to pay for two full minutes.
To be able to handle data usage there is a need to define when the usage has stopped since this is not as clear as detecting an on-hook for a voice call. To solve this the 3:rd Generation Partnership Project (3GPP) standardization has introduced a parameter that can be used to identify that traffic (that consumes a granted quota) has stopped. This parameter is called Quota-Holding-Time (QHT) and is specified by 3GPP TS 32.299 V10.1.0 (2011-03).
The parameter is used on the Ro reference point in the 3GPP charging architecture. The Ro reference point is for example used for charging of data bearer traffic and different IP Multimedia Subsystem (IMS) services. The Ro reference point is between the charging client and Online Charging System (OCS).
If no traffic associated with a consumption quota granted to a charging client by a charging server is observed for the duration of the QHT, the charging client understands that the traffic has stopped and the consumption quota is returned to the server.
By using Quota-Holding-Time the telecommunications network operator has the possibility to not have reservations allocated on the subscribers account for services that is not currently used. Normally there is one charging session for example for one Packet Data Protocol (PDP) context. If the subscriber is using several services during the lifetime of the charging session there can be several reservations on the subscriber account.
If Quota-Holding-Time, or a similar timer set locally in the charging client, is not used this will result in a large part of the subscriber's balance of funds being blocked for those reservations. As a result, services may be denied because of a virtual lack of available funds, although funds are available but distributed and allocated as consumption quota for different charging sessions.
For voice calls the duration is usually relatively easy to estimate and in most cases optimize the calls so that the time is utilized optimally. This is to some extent also true for data. The issue here is that the user normally does not have full control over when a charging session is considered started or stopped. A solution to this today is to have it based per bill period (e.g. month) but this is difficult when having an online charged subscriber (e.g. prepaid) since they expect to have an updated and correct statement immediately.
However, the use of Quota-Holding-Time or similar methods creates another problem. Consider a Quota-Holding-Time set to five minutes. In a possible scenario the subscriber is web browsing and a page is downloaded. The subscriber may read the page for a duration that is longer than five minutes. Due to the QHT timer the service charging session, where a service charging session is defined as the session for charging the service usage until the service usage is identified as stopped using for example Multiple Services Credit Control (MSCC) as specified by the Internet Engineering Task Force (IETF) RFC 4006 as a type of sub-sessions, is terminated.
At the termination the used units are deducted and any unused quota is returned to subscribers account. The deduction is rounded upwards to the charging interval i.e. the granularity used for charging of the used units. The charging interval may for example be 1 kilobyte and the used volume is thereby charged for every started kilobyte.
The subscriber may then select to click on next link and a new web page is downloaded and a new service charging session started, and so on for each subsequent page. Each time the service charging session is terminated the service usage is rounded upwards to the charging interval. When summarizing the total usage the subscriber may thereby have paid significantly more than would the service charging session been up all the time.
The cause to the problem is that service charging sessions are started and terminated several times during a charging session. The subscriber experience the web surfing as one usage session but the OCS is handling it as several smaller service charging sessions.
For a voice call the rounding to the next charging interval is made at the end of the call when the subscriber decides to terminate the call. A similar behavior is wanted for a data session in that rounding should not be done several times during a data session just because of signaling optimization and instead leading to an overcharge.
Also, the charging interval must be configurable based on the operator's business requirements, in the same way the operator in many cases decides to have a charging interval of one minute for voice. For example the operator must be able to configure for example charging interval to 50 KB for roaming data (this is a normal interval for the roaming case). The real usage is normally measured in higher granularity (i.e. more detailed) than the charging interval which gives the affect as described in above example.
As has been illustrated above, QHT or similar timers are used to end a service charging session at inactivity and to return the allocated reservation to be usable for other sessions as to avoid a virtual lack of funds and the resulting service denial. Inactivity may, as has been describe, be erroneously deduced because of the user still e.g. reading a web page but may also result from the user terminal losing its connection due to e.g. out of radio coverage of a mobile device.
As has also been shown such ending of a service charging session may cause excess charging of the user causing a premature extinction of funds thereby also resulting in denial of service.
A problem is thus that excess charging of a subscriber's accounts due to unintentional service charging session interruptions causes premature denial of service when the account is extinct.